<?php
/**
 * 描述：会员注册-第二步。
 */
final class Exec_Account_Register_Second extends Exec
{
    public function Get()
    {        
        #如果不是从register.html跳转就直接返回register.html
        if(Session::Get(Account::SESSIONNAME_REGISTERDATA)==NULL)
        {
            header('Location:/exec.php?action=account_register_first');
            return;
        }

        #绑定变量
        View::Assign
        (
            'Model',array
            (
                'BUSINESS'=>DAO_BusinessModel::BUSINESS_VALUE,
                'PRODUCTION'=>DAO_BusinessModel::PRODUCTION_VALUE,
                'SERVICE'=>DAO_BusinessModel::SERVICE_VALUE,
                'WHOLESALE'=>DAO_BusinessModel::WHOLESALE_VALUE
            )
        );

        #绑定数据-主营行业
        $data=DB::GetRows('select * from trade where Identifying_Parent is NULL order by ID asc');
        View::Assign('Trade_Class',$data);

        #显示页面
        View::Display('account/register/second.tpl');
    }

    public function Post()
    {
        #获取数据
        $data=array
        (
            'CompanyName'=>trim(Functions::FormArgs('CompanyName')),              //公司名称
            'Model'=>trim(Functions::FormArgs('Model')),                          //经营模式
            'RegisterdCapital'=>trim(Functions::FormArgs('RegisterdCapital')),    //注册时间
            'EstablishedTime'=>trim(Functions::FormArgs('EstablishedTime')),      //成立时间
            //'Trade'=>Functions::FormArgs('Trade')),                          //主营行业
            'Trade_Class'=>trim(Functions::FormArgs('Trade_Class_Value')),        //主营行业大类
            'Trade_Subclass'=>trim(Functions::FormArgs('Trade_Subclass_Value')),  //主营行业小类
            'Product'=>trim(Functions::FormArgs('Product')),                      //主营产品
            'Partner'=>trim(Functions::FormArgs('Partner')),                      //合作伙伴
            'Province'=>trim(Functions::FormArgs('Province')),                    //省
            'City'=>trim(@$_POST['City']),                            //城市
            'Address'=>trim(Functions::FormArgs('Address')),                      //地址
            'Intro'=>trim(Functions::FormArgs('Intro'))                           //公司简介
        );

        #数据验证
        //公司名称
        if(strlen($data['CompanyName'])<=0||strlen($data['CompanyName'])>127)
        {
            echo 'CompanyName';     //公司名称值不合法，长度：1-127。'
            return;            
        }
        //经营模式
        if($data['Model']!=DAO_BusinessModel::PRODUCTION_VALUE&&$data['Model']!=DAO_BusinessModel::BUSINESS_VALUE&&$data['Model']!=DAO_BusinessModel::WHOLESALE_VALUE&&$data['Model']!=DAO_BusinessModel::SERVICE_VALUE)
        {
            echo 'Model';   //经营模式不是范围值
            return;
        }
        //注册资本
        if(strlen($data['RegisterdCapital'])<=0||strlen($data['RegisterdCapital'])>127)
        {
            echo 'RegisterdCapital';    //注册资本不合法。长度：1-127。
            return;
        }
        //注册时间
        if(strlen($data['EstablishedTime'])<=0||strlen($data['EstablishedTime'])>127)
        {
            echo 'EstablishedTime';
            return;
        }
        //主营行业
       /* if(strlen($data['Trade'])<=0||strlen($data['Trade'])>127)
        {
            Functions::JsAlert('主营行业值不合法，长度：1-127。');
            Functions::JsHistory(-1);
            return;
        }*/
        //主营产品
        if(strlen($data['Product'])<=0||strlen($data['Product'])>10000)
        {
            echo 'Product';     //主营产品值不合法，长度：1-10000。
            return;
        }
        //合作伙伴
        if(strlen($data['Partner'])>10000)
        {
            echo 'Partner';     //合作伙伴值不合法，长度：1-127。
            return;
        }
        //省
        if(!is_numeric($data['Province']))
        {
            echo 'Province';    //所在省值不合法，必须是数字引用值。
            return;
        }
        //市
        if(!is_numeric($data['City']))
        {
            echo 'City';    //所在省值不合法，必须是数字引用值。
            return;
        }
        //地址
        if(strlen($data['Address'])<=0||strlen($data['Address'])>127)
        {
            echo 'Address';     //公司地址值不合法，长度：1-127。
            return;
        }

        //公司简介
        if(strlen($data['Intro'])<=0||strlen($data['Intro'])>50000)
        {
            echo 'Intro';   //公司简介不合法，长度：1-1200。
            return;
        }

        #图片处理
        $result=Upload::Probe($_FILES['Logo'],Config::UPLOAD_ATTACHMENT_SIZE_IMAGE,Config::UPLOAD_ATTACHMENT_EXT_IMAGE,Config::PATH_UPLOAD_ATTACHMENT_TEMP);

        #如果上传logo
        $FileName=NULL;
        if($result['error']!=UPLOAD_ERR_NO_FILE)    //如果上传了文件
        {
            switch($result['error'])
            {
                case UPLOAD_ERR_OK:
                    $FileName=Upload::Execute($_FILES['Logo'],Config::PATH_UPLOAD_ATTACHMENT_TEMP);
                break;
                case Upload::UPLOAD_ERR_CUSTOM_EXT:
                    echo 'Logo:EXT:Logo图片格式不正确，只能是：'.join(',',Upload::$UPLOAD_EXT_IMAGE).'。';
                    return;
                break;
                case Upload::UPLOAD_ERR_CUSTOM_SIZE:
                    echo 'Logo:Size:Logo图片大小超过了限制，不能超过：'.Functions::SizeFormat(Config::UPLOAD_ATTACHMENT_SIZE_IMAGE).'。';
                    return;
                break;
                default :
                    echo 'Logo:Fail';   //Logo上传失败
                    return;
            }
        }


        #存储数据
        $data=array_merge(Session::Get(Account::SESSIONNAME_REGISTERDATA),$data);   //数据合并
        if($FileName){
            $data['Logo']=$FileName;
        }
        Session::Set(Account::SESSIONNAME_REGISTERDATA,$data);

        #逻辑处理
        echo 'Success';
    }
}
?>